<template>
	<div style="width: 100%;height: 100%;">日报
		<avue-crud
			ref="crud" 
			:page.sync="page"
			:data="tableData"
			:table-loading="tableLoading"
			:option="tableOption"
			 @on-load="getList"
			 @search-change="searchChange"
			 @refresh-change="refreshChange"
			 @size-change="sizeChange"
			 @current-change="currentChange"
			 @row-update="handleUpdate"
			 @row-save="handleSave"
			 @row-del="rowDel">
		</avue-crud>
	</div>

</template>

<script>
	import {tableOption,tableOption2} from '../../../const/summary'
	
	
	export default {
		name: 'Summary',
		data() {
			return {
				role: '',
				searchForm: {},
				tableData: [],
				page: {
					total: 0, // 总页数
					currentPage: 1, // 当前页数
					pageSize: 10 // 每页显示多少条
				},
				tableLoading: false,
				tableOption: tableOption2,
			}
		},
		created() {
			this.searchForm = {
				userId: this.$store.getters.getUser.user.id
			}
			this.role = this.$store.getters.getUser.user.role
			if(this.role == 1 || this.role == 2 || this.role ==3){
				this.tableOption = tableOption
			}
		},
		mounted() {
			// this.$nextTick(function () {
			//    this.judgeRole()
			// })
		},
		methods: {
			//新闻相关
			getList(page, params) {
				this.tableLoading = true
				this.axios({
					method: "get",
					url: "http://localhost:8080/message/summary/page",
					params: Object.assign(
							{
								current:this.page.currentPage,
								size: this.page.pageSize,
							},
							this.searchForm
						)
						
				}).then(response => {
					this.tableData = response.data.data.records
					this.page.total = response.data.data.total
					this.tableLoading = false
				}).catch(() => {
				    this.tableLoading=false
				})
				
			},
			rowDel: function(row, index) {
				this.$confirm('是否确认删除内容', '提示', {
				    confirmButtonText: '确定',
				    cancelButtonText: '取消',
				    type: 'warning'
				}).then(function () {
				    var url = 'http://localhost:8080/message/summary/'+row.id
					// console.log(url);
					return axios.delete(url)
				}).then(data => {
				    this.$message.success('删除成功')
				    this.getList(this.page)
				})
			},
			handleUpdate: function(row, index, done, loading) {
				var url = 'http://localhost:8080/message/summary'
				this.axios.put(url,row).then(data => {
				    this.$message.success('修改成功')
				    done()
				    this.getList(this.page)
				}).catch(() => {
				    loading();
				});
			},
			handleSave: function(row, done, loading) {
				let newrow = row
				newrow.userId = this.$store.getters.getUser.user.id
				var url = 'http://localhost:8080/message/summary'
				this.axios.post(url,newrow).then(data => {
				    this.$message.success('添加成功')
				    done()
				    this.getList(this.page)
				}).catch(() => {
				    loading();
				});
			},
			sizeChange(pageSize) {
				this.page.pageSize = pageSize
			},
			currentChange(current) {
				this.page.currentPage = current
			},
			searchChange(form, done) {
				this.searchForm = form
				this.page.currentPage = 1
				this.getList(this.page, form)
				done()
			},
			refreshChange() {
				this.getList(this.page)
			},
			judgeRole:function(){
				this.role = this.$store.getters.getUser.user.role
				if(this.role == 1 || this.role == 2 || this.role ==3){
					this.tableOption = tableOption
				}
			},
		}
	};
</script>

<style>

</style>
